package cn.tedu.boyou.acticle.mapper;

import cn.tedu.boyou.acticle.domain.DestTheme;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DestThemeMapper {
    /**
     * 插入一条目的地主题信息
     * @param record 目的地主题对象
     */
    void insert(DestTheme record);

    /**
     * 查询所有的目的地主题信息
     * @return 目的地主题对象列表
     */
    List<DestTheme> selectAll();

    /**
     * 查询出按照显示优先级排序的，前num个目的地主题.查询的是第一级主题
     * @param num 查询多少个
     * @return 目的地主题结合
     */
    List<DestTheme> selectTopThemeOrdered(@Param("num") int num);

    /**
     * 根据parent_id查询所有的主题信息
     * @param parentId 父主题id
     * @return 子主题对象集合
     */
    List<DestTheme> selectByParentId(@Param("parentId") Long parentId);

    /**
     * 查询指定主题层级的所有主题
     * @param deep 主题层级
     * @return 改主题层级下的所有主题
     */
    List<DestTheme> selectByDeep(int deep);

    /**
     * 根据主键查询目的地主题对象
     * @param id 主键id
     * @return 目的地主题对象
     */
    DestTheme selectByPrimaryKey(Long id);

    /**
     * 跟新主题信息
     * @param destTheme
     */
    void updateByPrimaryKey(DestTheme destTheme);
}